
$(function(){
	$(document).ready(function(){
		
		  $(":input").blur(function(){
		var myClasses = this.classList;
		var id = $(this).attr('id');
		is_valid_field($(this).val(),myClasses[0],myClasses[1],id);
});
$(document).submit(function(){
	var err = 0;
	$( ":input" ).each(function( i ){
		var myClasses = this.classList;
		var id = $(this).attr('id');
		err += is_valid_field($(this).val(),myClasses[0],myClasses[1],id);
		
	});
	//alert(err);
	if(err > 0)
	{
		return false;
	}
	});

	});

function is_valid_field(value,required,optional,id)
{
	$this = $("#"+id);
	var n=$this.val().length;
	var error = 0;
	if(required=="required")
	{
		if(n <=0)
		{
			error += 1;
		} 
		if(optional=="numeric")
		{
			if(isNaN($this.val()))
			{
				error += 1;
			}
		}
		else if(optional=="mobile")
		{
			var intRegex = /^\d+$/;
			if(!intRegex.test($this.val()) || n!=10)
			{
				error += 1;
			}
		}
		else if(optional=="email")
		{
			var emailRegex = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/;
			if(!emailRegex.test($this.val()))
			{
				error += 1;
			}
		}
		else if(optional=="password")
		{
			var passwordRegex = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}/;
			if(!passwordRegex.test($this.val()))
			{
				error += 1;
			}
		}

	}
	if(error > 0)
	{
				if (!$this.closest(".control-group").hasClass("jerror")) 
			$this.closest(".control-group").addClass("jerror");
		$this.siblings(".help-inline").css("display", "block");
		return error;
	}
	else
	{
				if ($this.closest(".control-group").hasClass("jerror")) 
			$this.closest(".control-group").removeClass("jerror");
		$this.siblings(".help-inline").css("display", "none");
		return error;
	}
}



});


